<?php

require_once 'PHPCR/Value.php';
require_once 'PHPCR/Repository/Exception.php';
require_once 'PHPCR/ItemNotFoundException.php';


/**
 * A row in the query result table.
 *
 * @package phpcr
 * @subpackage query
 */
interface phpCr_RowInterface
{
    /**
     * Returns an array of all the values in the same order as the property names
     * (column names) returned by {@link QueryResult#getPropertyNames()}.
     *
     * @return a <code>Value</code> array.
     * @throws RepositoryException if an error occurs
     */
    public function getValues();

    /**
     * Returns the value of the indicated  property in this <code>Row</code>.
     * <p/>
     * If <code>propertyName</code> is not among the column names of the query result
     * table, an <code>ItemNotFoundException</code> is thrown.
     *
     * @return a <code>Value</code>
     * @throws ItemNotFoundException if <code>propertyName</code> s not among the
     * column names of the query result table
     * @throws RepositoryException if anopther error occurs.
     */
    public function getValue( $propertyName );
}
